// PipeDream.c
// Runs on LM3S1968 Logo example project
// Jonathan Valvano
// Fall 2012
// Images created by Mark Meserve
/* This example accompanies the books
   "Embedded Systems: Real Time Interfacing to Arm Cortex M Microcontrollers",
   ISBN: 978-1463590154, Jonathan Valvano, copyright (c) 2012
   
   "Embedded Systems: Introduction to Arm Cortex M Microcontrollers",
   ISBN: 978-1469998749, Jonathan Valvano, copyright (c) 2012
 Copyright 2012 by Jonathan W. Valvano, valvano@mail.utexas.edu
    You may use, edit, run or distribute this file
    as long as the above copyright notice remains
 THIS SOFTWARE IS PROVIDED "AS IS".  NO WARRANTIES, WHETHER EXPRESS, IMPLIED
 OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
 VALVANO SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL,
 OR CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
 For more information about my classes, my research, and my books, see
 http://users.ece.utexas.edu/~valvano/
 */
#include "hw_types.h"
#include "sysctl.h"
#include "lm3s1968.h"
#include "rit128x96x4.h"
#include "logo.h"


void DisableInterrupts(void); // Disable interrupts
void EnableInterrupts(void);  // Enable interrupts
long StartCritical (void);    // previous I bit, disable interrupts
void EndCritical(long sr);    // restore I bit to previous value
void WaitForInterrupt(void);  // low power mode

// which delays 3*ulCount cycles
#ifdef __TI_COMPILER_VERSION__
  //Code Composer Studio Code
  void Delay(unsigned long ulCount){
  __asm (  "    subs    r0, #1\n"
      "    bne     Delay\n"
      "    bx      lr\n");
}

#else
  //Keil uVision Code
  __asm void
  Delay(unsigned long ulCount)
  {
    subs    r0, #1
    bne     Delay
    bx      lr
  }

#endif
// 16-color BMP file format
// index 18-21 little endian is the width
// index 22-25 little endian is the height
// starting with index 0x76 and going to the second to last byte is the matrix data 4 bits/pixel
// the width is not a multiple of 16, then padding occurs so the number of bytes in each row is divisible by 8

// introduction screen with the words "Pipe Dream"
// width=128 by height=96
const unsigned char title[] ={
 0x42, 0x4D, 0x76, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x13, 0x0B, 0x00, 0x00, 0x13, 0x0B, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80,
 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x80, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF,
 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
 0x44, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x47,
 0x70, 0x00, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x74, 0x44, 0x44, 0x44, 0x44,
 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x47, 0x74, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x47, 0x74,
 0x70, 0x00, 0x00, 0x07, 0x47, 0x74, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x44,
 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x77, 0x77, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x77, 0x77,
 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x44, 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74,
 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x70, 0x00, 0x00, 0x07,
 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x44, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x44, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x44, 0x77, 0x77, 0x77, 0x77, 0x77,
 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x44, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x44, 0x44, 0x47, 0x74, 0x70, 0x00, 0x00, 0x07,
 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x74, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x74,
 0x70, 0x00, 0x00, 0x07, 0x47, 0x74, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x70, 0x00, 0x00, 0x07,
 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47,
 0x70, 0x00, 0x00, 0x07, 0x74, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x70, 0x00, 0x00, 0x07,
 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47,
 0x70, 0x00, 0x00, 0x07, 0x74, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x44, 0x44, 0x47, 0x74, 0x70, 0x00, 0x00, 0x07,
 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x47, 0x74, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x74, 0x70, 0x00, 0x00, 0x07, 0x47, 0x74, 0x44, 0x44, 0x44, 0x44, 0x47, 0x74,
 0x70, 0x00, 0x00, 0x07, 0x47, 0x74, 0x44, 0x44, 0x44, 0x44, 0x47, 0x74, 0x70, 0x00, 0x00, 0x07, 0x47, 0x74, 0x70, 0x00, 0x00, 0x07, 0x44, 0x77, 0x77, 0x77, 0x77, 0x77, 0x70, 0x00, 0x00, 0x07,
 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x77, 0x77, 0x77, 0x77, 0x77, 0x44, 0x44, 0x44, 0x44, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x44, 0x44, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xF0, 0x00, 0x0F, 0xFF,
 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x0F, 0xFF, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0x44, 0x44, 0x70, 0x00, 0x00, 0xFF, 0xF0, 0x00, 0x0F, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x0F, 0xF0, 0xF0, 0x00,
 0x00, 0xF0, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0x44, 0x44, 0x70, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00,
 0x00, 0xF0, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xF0, 0x00, 0x00, 0xFF,
 0xFF, 0xF0, 0x00, 0x00, 0x0F, 0x00, 0x00, 0xFF, 0xF0, 0x00, 0x0F, 0xFF, 0x44, 0x44, 0x70, 0x0F, 0x00, 0x00, 0x0F, 0xFF, 0xF0, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00,
 0xFF, 0xF0, 0xFF, 0xF0, 0x00, 0x00, 0xFF, 0xFF, 0xF0, 0x00, 0x0F, 0xFF, 0xFF, 0xF0, 0x00, 0x0F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x07, 0x77, 0x77, 0x7F, 0x00, 0x00, 0xF4,
 0x44, 0x4F, 0xF0, 0x00, 0x00, 0xF7, 0x77, 0x77, 0xF0, 0x00, 0x0F, 0x07, 0x44, 0x44, 0x70, 0x0F, 0x00, 0x00, 0xF7, 0x77, 0x7F, 0x00, 0x00, 0xF7, 0x7F, 0x00, 0x00, 0xF7, 0x7F, 0xF0, 0x00, 0x0F,
 0x77, 0x77, 0x77, 0xF0, 0x00, 0x0F, 0x77, 0x77, 0xF0, 0x00, 0x0F, 0x77, 0x77, 0xF0, 0x00, 0x0F, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x70, 0x00, 0x00, 0x07, 0x47, 0x74, 0x4F, 0x00, 0x00, 0xF4,
 0x44, 0x44, 0x4F, 0x00, 0x00, 0x0F, 0x47, 0x74, 0xF0, 0x00, 0x0F, 0x07, 0x44, 0x44, 0x70, 0x0F, 0x00, 0x0F, 0x47, 0x74, 0x70, 0xFF, 0x0F, 0x07, 0x4F, 0x00, 0x00, 0xF4, 0x44, 0xF0, 0x00, 0x0F,
 0x70, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x44, 0x44, 0xF0, 0x00, 0x0F, 0x74, 0x70, 0xF0, 0x00, 0x0F, 0x47, 0x74, 0x70, 0x00, 0x00, 0x07, 0x70, 0x00, 0x00, 0x07, 0x74, 0x44, 0x4F, 0x00, 0x00, 0xF4,
 0x44, 0x44, 0x4F, 0x00, 0x00, 0x0F, 0x44, 0x47, 0xF0, 0x00, 0x0F, 0x07, 0x74, 0x47, 0x70, 0xF0, 0x00, 0x0F, 0x74, 0x47, 0x70, 0x00, 0xF0, 0x07, 0x7F, 0x00, 0x00, 0xFF, 0x44, 0xF0, 0x00, 0x0F,
 0x70, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x44, 0x44, 0xF0, 0x00, 0x0F, 0x47, 0x70, 0xF0, 0x00, 0x0F, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x70, 0x00, 0x00, 0x07, 0x74, 0x44, 0x4F, 0x00, 0x00, 0xF4,
 0x44, 0x44, 0x44, 0xF0, 0x00, 0x00, 0xF4, 0x47, 0xF0, 0x00, 0x0F, 0x07, 0x74, 0x47, 0x70, 0xF0, 0x00, 0x0F, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0xF0, 0x00, 0x00, 0xFF, 0xF0, 0x00, 0x0F,
 0x70, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x44, 0x44, 0xF0, 0x00, 0x0F, 0x47, 0x70, 0xF0, 0x00, 0x0F, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x70, 0x00, 0x00, 0x07, 0x47, 0x74, 0x4F, 0x00, 0x00, 0xF4,
 0x47, 0x74, 0x44, 0xF0, 0x00, 0x00, 0xF4, 0x44, 0xF0, 0x00, 0x0F, 0x07, 0x44, 0x44, 0x70, 0xF0, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x47, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F,
 0x70, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x44, 0x44, 0xF0, 0x00, 0x0F, 0x74, 0x70, 0xF0, 0x00, 0x0F, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x7F, 0x00, 0x00, 0xF7,
 0x77, 0x77, 0x77, 0x7F, 0x00, 0x00, 0x0F, 0x44, 0xF0, 0x00, 0x0F, 0x07, 0x44, 0x44, 0x70, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0x77, 0x77, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x0F,
 0x70, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x44, 0x77, 0xF0, 0x00, 0x0F, 0x77, 0x70, 0xF0, 0x00, 0x0F, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0xF0,
 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x0F, 0x44, 0xF0, 0x00, 0x0F, 0x07, 0x44, 0x44, 0x70, 0xF0, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xF0, 0x00, 0xFF, 0xFF, 0x0F, 0xFF, 0xF0, 0x00, 0x0F,
 0x70, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x47, 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0xF0,
 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x0F, 0x44, 0xF0, 0x00, 0x00, 0xFF, 0xFF, 0xF4, 0x70, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0x0F, 0x00, 0x00, 0xF0, 0x0F, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x0F,
 0x70, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x70, 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0xF0,
 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x0F, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xF4, 0x70, 0x0F, 0x00, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x00, 0xFF, 0x00, 0xF0, 0x00, 0x0F,
 0x70, 0x00, 0xFF, 0xF0, 0x00, 0x0F, 0xFF, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x0F, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0xF0,
 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x70, 0x0F, 0x00, 0x00, 0x0F, 0xFF, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0x0F, 0xFF, 0x00, 0x00, 0xF4,
 0x70, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0x00, 0x00, 0x0F, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0xF0,
 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x0F, 0x70, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF4,
 0x70, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0xF0,
 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF4, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x47, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x00, 0xFF, 0xF4,
 0x70, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x0F, 0x74, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x7F, 0x00, 0x00, 0xF7,
 0x77, 0x77, 0x70, 0xF0, 0x00, 0x00, 0xF4, 0x44, 0x70, 0xFF, 0xF0, 0xFF, 0xFF, 0xF4, 0x44, 0x77, 0x77, 0x7F, 0xFF, 0xFF, 0xFF, 0xF7, 0x77, 0x77, 0x77, 0x77, 0x7F, 0xFF, 0xFF, 0xFF, 0x44, 0x44,
 0x70, 0x00, 0x00, 0x07, 0xFF, 0xF4, 0x70, 0xFF, 0xFF, 0xF7, 0x77, 0x77, 0xFF, 0xFF, 0xF7, 0x44, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x70, 0x00, 0x00, 0x07, 0x47, 0x74, 0x4F, 0x00, 0x00, 0xF4,
 0x47, 0x74, 0x7F, 0x00, 0x00, 0x00, 0xF4, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x74, 0x70, 0x00, 0x00, 0x07, 0x47, 0x74, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44,
 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x47, 0x74, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x70, 0x00, 0x00, 0x07, 0x74, 0x44, 0x4F, 0x00, 0x00, 0xF4,
 0x44, 0x47, 0xF0, 0x00, 0x00, 0x0F, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x47,
 0x70, 0x00, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x70, 0x00, 0x00, 0x07, 0x70, 0x00, 0x00, 0x07, 0x74, 0xFF, 0xF0, 0x00, 0x00, 0xFF,
 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xF7, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x47,
 0x70, 0x00, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x70, 0x00, 0x00, 0x07, 0x70, 0x00, 0x00, 0x07, 0x47, 0xF0, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x0F, 0x07, 0x47, 0x74, 0x70, 0x00, 0x00, 0x07, 0x47, 0x74, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x47, 0x74, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44,
 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x74, 0x70, 0x00, 0x00, 0x07, 0x70, 0x00, 0x00, 0x07, 0x77, 0xF0, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x0F, 0xF0, 0x07, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x44, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x77, 0x77, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44,
 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x44, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x70, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44,
 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44,
 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44,
 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44,
 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44,
 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
 0x44, 0x44, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x44, 0x44,
 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x77, 0x77, 0x77, 0x77, 0x77, 0x70, 0x00, 0x00, 0x07,
 0x44, 0x44, 0x44, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x44, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x44, 0x44, 0x44,
 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x44, 0x44, 0x44, 0x44, 0x47, 0x74, 0x70, 0x00, 0x00, 0x07,
 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x74, 0x70, 0x00, 0x00, 0x07, 0x47, 0x74, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x74, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x47, 0x74, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x70, 0x00, 0x00, 0x07,
 0x74, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47,
 0x70, 0x00, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x70, 0x00, 0x00, 0x07,
 0x74, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x44, 0x44, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47,
 0x70, 0x00, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07,
 0x47, 0x74, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x44, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x77, 0x77, 0x77, 0x44, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07,
 0x77, 0x77, 0x77, 0x77, 0x77, 0x44, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x44, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0x77, 0x77, 0x77, 0x44, 0x44, 0x44,
 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x74, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x47, 0xFF, 0xF0, 0x00, 0x0F, 0xFF, 0x00, 0x00, 0x00, 0x74, 0x44, 0x44,
 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44,
 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44,
 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44,
 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x07, 0x44, 0x44, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x70, 0x00, 0xF0, 0x00, 0x0F, 0x0F, 0xFF, 0xF0, 0x00, 0x07, 0x44, 0x44,
 0x70, 0x00, 0x0F, 0xFF, 0xF4, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44, 0x47, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x07, 0x44, 0x44, 0x70, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0x70, 0x00, 0xF0, 0x00, 0x0F, 0xF0, 0x00, 0x0F, 0xFF, 0x07, 0x44, 0x44,
 0x70, 0xFF, 0xF0, 0x00, 0x0F, 0xFF, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x44, 0x77, 0x77, 0x77,
 0x77, 0x77, 0x70, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x07, 0x44, 0x44, 0x70, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0x70, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x07, 0x44, 0x44,
 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
 0x47, 0x74, 0x70, 0x00, 0x0F, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xF0, 0x07, 0x44, 0x44, 0x70, 0xFF, 0xF0, 0x00, 0x0F, 0xFF, 0x70, 0x00, 0xF0, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xF7, 0x44, 0x4F,
 0x00, 0x00, 0x0F, 0xFF, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x70, 0x00, 0x00, 0x07, 0x74, 0x44, 0x44, 0x44, 0x44, 0x44,
 0x44, 0x47, 0x70, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0xF0, 0x00, 0x0F, 0x47, 0x70, 0x00, 0xF0, 0x00, 0x0F, 0xF7, 0x70, 0xF0, 0x00, 0x0F, 0x74, 0x4F,
 0x00, 0x00, 0xF0, 0x07, 0x7F, 0x00, 0x00, 0xF0, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x70, 0x00, 0x00, 0x07, 0x74, 0x44, 0x44, 0x44, 0x44, 0x44,
 0x44, 0x47, 0x70, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0xF0, 0x00, 0x0F, 0x47, 0x70, 0x00, 0xF0, 0x00, 0x0F, 0x47, 0x70, 0xF0, 0x00, 0x00, 0xF4, 0x4F,
 0x00, 0x0F, 0x00, 0x07, 0x74, 0xFF, 0x0F, 0x00, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
 0x47, 0x74, 0x70, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0x07, 0x47, 0x74, 0x70, 0x00, 0xF0, 0x00, 0x0F, 0x44, 0x70, 0x00, 0xF0, 0x00, 0x0F, 0x44, 0x70, 0x0F, 0x00, 0x00, 0xF7, 0xF0,
 0x00, 0x0F, 0x00, 0x07, 0x44, 0x44, 0xF0, 0x00, 0x00, 0x07, 0x47, 0x74, 0x70, 0x00, 0x00, 0x07, 0x47, 0x74, 0x70, 0x00, 0x00, 0x07, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x44, 0x77, 0x77, 0x77,
 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0xF0, 0x00, 0x0F, 0x77, 0x77, 0x77, 0x77, 0x77, 0x70, 0x00, 0xF0, 0x00, 0x0F, 0x44, 0x70, 0x00, 0xF0, 0x00, 0x0F, 0x44, 0x70, 0x0F, 0x00, 0x00, 0xF7, 0xF0,
 0x00, 0x0F, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44, 0x47, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x44, 0x70, 0x00, 0xF0, 0x00, 0x0F, 0x44, 0x70, 0x0F, 0x00, 0x00, 0xF0, 0xF0,
 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x44, 0x70, 0x00, 0xF0, 0x00, 0x0F, 0x44, 0x70, 0x0F, 0x00, 0x00, 0xF0, 0xF0,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x44, 0x70, 0x00, 0xF0, 0x00, 0x0F, 0x44, 0x70, 0x0F, 0x00, 0x00, 0xF0, 0xF0,
 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x44, 0x70, 0x00, 0xF0, 0x00, 0x0F, 0x44, 0x70, 0xF0, 0x00, 0x0F, 0x00, 0xF0,
 0x00, 0x0F, 0x00, 0x07, 0x4F, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0xF0, 0x00, 0x0F, 0x44, 0x70, 0xFF, 0xF0, 0x00, 0x0F, 0x44, 0x70, 0xF0, 0x00, 0x0F, 0x00, 0x0F,
 0x00, 0x00, 0xF0, 0x07, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF0, 0xF0, 0x00, 0x00, 0x0F, 0x44, 0x70, 0xF0, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x0F, 0x00, 0x0F,
 0x00, 0x00, 0x0F, 0xFF, 0x00, 0x00, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x77, 0x77, 0x44, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07,
 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0xF0, 0x00, 0x0F, 0x77, 0x77, 0x7F, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x0F, 0x44, 0x70, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0x77, 0x77,
 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF4, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07,
 0x47, 0x74, 0x70, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0x00, 0x0F, 0x44, 0x70, 0xFF, 0xFF, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0x44, 0x47, 0x74,
 0x4F, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0x44, 0x44, 0x44, 0x44, 0x47, 0x74, 0x70, 0x00, 0x00, 0x07, 0x47, 0x74, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x70, 0x00, 0x00, 0x07,
 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x0F, 0x44, 0x44, 0xFF, 0xFF, 0x47, 0x70, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x44, 0x44, 0x44,
 0x44, 0x4F, 0xFF, 0xFF, 0xFF, 0xF4, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x70, 0x00, 0x00, 0x07,
 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x0F, 0x44, 0x4F, 0xFF, 0x44, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x44, 0x44, 0x47, 0x74, 0x70, 0x00, 0x00, 0x07,
 0x47, 0x74, 0x70, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x0F, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xF4, 0x44, 0xF0, 0x00, 0xF7, 0x74, 0x70, 0x00, 0x00, 0x07, 0x47, 0x74, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
 0x44, 0x44, 0x44, 0x44, 0x47, 0x74, 0x44, 0x44, 0x44, 0x44, 0x47, 0x74, 0x70, 0x00, 0x00, 0x07, 0x47, 0x74, 0x70, 0x00, 0x00, 0x07, 0x44, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
 0x77, 0x77, 0x70, 0x00, 0x0F, 0xFF, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xF4, 0x7F, 0x00, 0x00, 0x0F, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x44, 0x44, 0x44,
 0x44, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x70, 0x00, 0x00, 0x07, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x47, 0x0F, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x44, 0x44,
 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF4, 0x70, 0x0F, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44,
 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x44, 0x70, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44,
 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x0F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44,
 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44,
 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44,
 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x70, 0x00, 0x00, 0x07, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
 0x77, 0x77, 0x77, 0x77, 0x77, 0x44, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44,
 0x70, 0x00, 0x00, 0x07, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x44, 0x70, 0x00, 0x00, 0x07, 0x47, 0x74, 0x70, 0x00, 0x00, 0x07,
 0x47, 0x74, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x47, 0x74, 0x70, 0x00, 0x00, 0x07, 0x47, 0x74, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44,
 0x70, 0x00, 0x00, 0x07, 0x47, 0x74, 0x44, 0x44, 0x44, 0x44, 0x47, 0x74, 0x70, 0x00, 0x00, 0x07, 0x47, 0x74, 0x44, 0x44, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07,
 0x74, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x47,
 0x70, 0x00, 0x00, 0x07, 0x74, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x44, 0x44, 0x44, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07,
 0x74, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x47,
 0x70, 0x00, 0x00, 0x07, 0x74, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x44, 0x44, 0x44, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x47, 0x74, 0x70, 0x00, 0x00, 0x07,
 0x47, 0x74, 0x44, 0x44, 0x44, 0x44, 0x47, 0x74, 0x70, 0x00, 0x00, 0x07, 0x47, 0x74, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x47, 0x74,
 0x70, 0x00, 0x00, 0x07, 0x47, 0x74, 0x44, 0x44, 0x44, 0x44, 0x47, 0x74, 0x70, 0x00, 0x00, 0x07, 0x47, 0x74, 0x44, 0x44, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x77, 0x77,
 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x44, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x44, 0x77, 0x77, 0x77, 0x77, 0x77,
 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x44, 0x44, 0x47, 0x74, 0x70, 0x00, 0x00, 0x07,
 0x47, 0x74, 0x44, 0x44, 0x44, 0x44, 0x47, 0x74, 0x70, 0x00, 0x00, 0x07, 0x47, 0x74, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x74,
 0x70, 0x00, 0x00, 0x07, 0x47, 0x74, 0x44, 0x44, 0x44, 0x44, 0x47, 0x74, 0x70, 0x00, 0x00, 0x07, 0x47, 0x74, 0x70, 0x00, 0x00, 0x07, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x70, 0x00, 0x00, 0x07,
 0x74, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47,
 0x70, 0x00, 0x00, 0x07, 0x74, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x70, 0x00, 0x00, 0x07, 0x74, 0x47, 0x70, 0x00, 0x00, 0x07, 0xFF};

// a blank grid space
// width=12 by height=12
const unsigned char blank[] ={
 0x42, 0x4D, 0xD6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x23, 0x0B, 0x00, 0x00, 0x23, 0x0B, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80,
 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x80, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF,
 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x00, 0x00, 0x40, 0x00,
 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00,
 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00,
 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x00, 0x00, 0xFF};

// a vertical pipe with openings up and down
// width=12 by height=12
const unsigned char straightUD[] ={
 0x42, 0x4D, 0xD6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x23, 0x0B, 0x00, 0x00, 0x23, 0x0B, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80,
 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x80, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF,
 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x4F, 0xF0, 0x00, 0x00, 0x0F, 0xF4, 0x00, 0x00, 0x44, 0xF0,
 0x00, 0x00, 0x0F, 0x44, 0x00, 0x00, 0x44, 0xF0, 0x00, 0x00, 0x0F, 0x44, 0x00, 0x00, 0x44, 0xF0, 0x00, 0x00, 0x0F, 0x44, 0x00, 0x00, 0x44, 0xF0, 0x00, 0x00, 0x0F, 0x44, 0x00, 0x00, 0x44, 0xF0,
 0x00, 0x00, 0x0F, 0x44, 0x00, 0x00, 0x44, 0xF0, 0x00, 0x00, 0x0F, 0x44, 0x00, 0x00, 0x44, 0xF0, 0x00, 0x00, 0x0F, 0x44, 0x00, 0x00, 0x44, 0xF0, 0x00, 0x00, 0x0F, 0x44, 0x00, 0x00, 0x44, 0xF0,
 0x00, 0x00, 0x0F, 0x44, 0x00, 0x00, 0x44, 0xF0, 0x00, 0x00, 0x0F, 0x44, 0x00, 0x00, 0x4F, 0xF0, 0x00, 0x00, 0x0F, 0xF4, 0x00, 0x00, 0xFF};

// a horizontal pipe with openings left and right
// width=12 by height=12
const unsigned char straightLR[] ={
 0x42, 0x4D, 0xD6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x23, 0x0B, 0x00, 0x00, 0x23, 0x0B, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80,
 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x80, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF,
 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x00, 0x00, 0xF4, 0x44,
 0x44, 0x44, 0x44, 0x4F, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF,
 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xF4, 0x44, 0x44, 0x44, 0x44, 0x4F, 0x00, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x00, 0x00, 0xFF};

// an elbow pipe with openings up and left
// width=12 by height=12
const unsigned char turnUL[] ={
 0x42, 0x4D, 0xD6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x33, 0x0B, 0x00, 0x00, 0x33, 0x0B, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80,
 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x80, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF,
 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x00, 0x00, 0xF4, 0x44,
 0x44, 0x44, 0x44, 0x44, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x44, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF4, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x44, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x0F, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x44, 0x00, 0x00, 0xFF, 0xF0,
 0x00, 0x00, 0x0F, 0x44, 0x00, 0x00, 0xF4, 0xF0, 0x00, 0x00, 0x0F, 0x44, 0x00, 0x00, 0x4F, 0xF0, 0x00, 0x00, 0x0F, 0xF4, 0x00, 0x00, 0xFF};

// an elbow pipe with openings up and right
// width=12 by height=12
const unsigned char turnUR[] ={
 0x42, 0x4D, 0xD6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x43, 0x0B, 0x00, 0x00, 0x43, 0x0B, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80,
 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x80, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF,
 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x00, 0x00, 0x44, 0x44,
 0x44, 0x44, 0x44, 0x4F, 0x00, 0x00, 0x44, 0x44, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x44, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0xF0,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0xF0,
 0x00, 0x00, 0x0F, 0xFF, 0x00, 0x00, 0x44, 0xF0, 0x00, 0x00, 0x0F, 0x4F, 0x00, 0x00, 0x4F, 0xF0, 0x00, 0x00, 0x0F, 0xF4, 0x00, 0x00, 0xFF};

// an elbow pipe with openings down and right
// width=12 by height=12
const unsigned char turnDR[] ={
 0x42, 0x4D, 0xD6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x33, 0x0B, 0x00, 0x00, 0x33, 0x0B, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80,
 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x80, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF,
 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x4F, 0xF0, 0x00, 0x00, 0x0F, 0xF4, 0x00, 0x00, 0x44, 0xF0,
 0x00, 0x00, 0x0F, 0x4F, 0x00, 0x00, 0x44, 0xF0, 0x00, 0x00, 0x0F, 0xFF, 0x00, 0x00, 0x44, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0xF0,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x44,
 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x4F, 0x00, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x00, 0x00, 0xFF};

// an elbow pipe with openings down and left
// width=12 by height=12
const unsigned char turnDL[] ={
 0x42, 0x4D, 0xD6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x33, 0x0B, 0x00, 0x00, 0x33, 0x0B, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80,
 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x80, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF,
 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x4F, 0xF0, 0x00, 0x00, 0x0F, 0xF4, 0x00, 0x00, 0xF4, 0xF0,
 0x00, 0x00, 0x0F, 0x44, 0x00, 0x00, 0xFF, 0xF0, 0x00, 0x00, 0x0F, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x44, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x0F, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF4, 0x44, 0x00, 0x00, 0xFF, 0xFF,
 0xFF, 0xFF, 0x44, 0x44, 0x00, 0x00, 0xF4, 0x44, 0x44, 0x44, 0x44, 0x44, 0x00, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x00, 0x00, 0xFF};

// a cross piece, a separate horizontal and vertical pipe in the same tile
// openings in all 4 directions (flows to the opposite side)
// width=12 by height=12
const unsigned char cross[] ={
 0x42, 0x4D, 0xD6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x23, 0x0B, 0x00, 0x00, 0x23, 0x0B, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80,
 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x80, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF,
 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x4F, 0xF0, 0x00, 0x00, 0x0F, 0xF4, 0x00, 0x00, 0xF4, 0xF0,
 0x00, 0x00, 0x0F, 0x4F, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF,
 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xF4, 0xF0, 0x00, 0x00, 0x0F, 0x4F, 0x00, 0x00, 0x4F, 0xF0, 0x00, 0x00, 0x0F, 0xF4, 0x00, 0x00, 0xFF};

// the starting pipe facing up
// width=12 by height=12
const unsigned char startU[] ={
 0x42, 0x4D, 0xD6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x23, 0x0B, 0x00, 0x00, 0x23, 0x0B, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80,
 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x80, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF,
 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x00, 0x00, 0x4F, 0xFF,
 0xFF, 0xFF, 0xFF, 0xF4, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x4F, 0x00,
 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x4F, 0xF0,
 0x70, 0x07, 0x0F, 0xF4, 0x00, 0x00, 0x44, 0xF0, 0x70, 0x07, 0x0F, 0x44, 0x00, 0x00, 0x4F, 0xF0, 0x70, 0x07, 0x0F, 0xF4, 0x00, 0x00, 0xFF};
// the starting pipe facing right
// width=12 by height=12
const unsigned char startR[] ={
 0x42, 0x4D, 0xD6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x23, 0x0B, 0x00, 0x00, 0x23, 0x0B, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80,
 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x80, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF,
 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x00, 0x00, 0x4F, 0xFF,
 0xFF, 0xFF, 0xFF, 0x4F, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x07, 0x77, 0x00, 0x00, 0x4F, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x07, 0x77, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x00,
 0x00, 0x00, 0x0F, 0xFF, 0x00, 0x00, 0x4F, 0xFF, 0xFF, 0xFF, 0xFF, 0x4F, 0x00, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x00, 0x00, 0xFF};
// the starting pipe facing down
// width=12 by height=12
const unsigned char startD[] ={
 0x42, 0x4D, 0xD6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x33, 0x0B, 0x00, 0x00, 0x33, 0x0B, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80,
 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x80, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF,
 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x4F, 0xF0, 0x70, 0x07, 0x0F, 0xF4, 0x00, 0x00, 0x44, 0xF0,
 0x70, 0x07, 0x0F, 0x44, 0x00, 0x00, 0x4F, 0xF0, 0x70, 0x07, 0x0F, 0xF4, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x4F, 0x00,
 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x4F, 0x00,
 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x4F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x00, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x00, 0x00, 0xFF};
// the starting pipe facing left
// width=12 by height=12
const unsigned char startL[] ={
 0x42, 0x4D, 0xD6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x23, 0x0B, 0x00, 0x00, 0x23, 0x0B, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80,
 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x80, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF,
 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x00, 0x00, 0xF4, 0xFF,
 0xFF, 0xFF, 0xFF, 0xF4, 0x00, 0x00, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x77, 0x70, 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x77, 0x70, 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0xFF, 0xF0,
 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0xF4, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x00, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x00, 0x00, 0xFF};

// the ending pipe facing up
// width=12 by height=12
const unsigned char endU[] ={
 0x42, 0x4D, 0xD6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x23, 0x0B, 0x00, 0x00, 0x23, 0x0B, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80,
 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x80, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF,
 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x00, 0x00, 0x4F, 0xFF,
 0xFF, 0xFF, 0xFF, 0xF4, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x4F, 0x07, 0x77, 0x77, 0x70, 0xF4, 0x00, 0x00, 0x4F, 0x07, 0x00, 0x00, 0x70, 0xF4, 0x00, 0x00, 0x4F, 0x07,
 0x00, 0x00, 0x70, 0xF4, 0x00, 0x00, 0x4F, 0x07, 0x00, 0x00, 0x70, 0xF4, 0x00, 0x00, 0x4F, 0x07, 0x00, 0x00, 0x70, 0xF4, 0x00, 0x00, 0x4F, 0x07, 0x77, 0x77, 0x70, 0xF4, 0x00, 0x00, 0x4F, 0xF0,
 0x00, 0x00, 0x0F, 0xF4, 0x00, 0x00, 0x44, 0xF0, 0x00, 0x00, 0x0F, 0x44, 0x00, 0x00, 0x4F, 0xF0, 0x00, 0x00, 0x0F, 0xF4, 0x00, 0x00, 0xFF};
// the ending pipe facing right
// width=12 by height=12
const unsigned char endR[] ={
 0x42, 0x4D, 0xD6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x23, 0x0B, 0x00, 0x00, 0x23, 0x0B, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80,
 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x80, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF,
 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x00, 0x00, 0x4F, 0xFF,
 0xFF, 0xFF, 0xFF, 0x4F, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0x00, 0x00, 0x4F, 0x07, 0x77, 0x77, 0x70, 0x00, 0x00, 0x00, 0x4F, 0x07, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x4F, 0x07,
 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x4F, 0x07, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x4F, 0x07, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x4F, 0x07, 0x77, 0x77, 0x70, 0x00, 0x00, 0x00, 0x4F, 0x00,
 0x00, 0x00, 0x0F, 0xFF, 0x00, 0x00, 0x4F, 0xFF, 0xFF, 0xFF, 0xFF, 0x4F, 0x00, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x00, 0x00, 0xFF};
// the ending pipe facing down
// width=12 by height=12
const unsigned char endD[] ={
 0x42, 0x4D, 0xD6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x23, 0x0B, 0x00, 0x00, 0x23, 0x0B, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80,
 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x80, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF,
 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x4F, 0xF0, 0x00, 0x00, 0x0F, 0xF4, 0x00, 0x00, 0x44, 0xF0,
 0x00, 0x00, 0x0F, 0x44, 0x00, 0x00, 0x4F, 0xF0, 0x00, 0x00, 0x0F, 0xF4, 0x00, 0x00, 0x4F, 0x07, 0x77, 0x77, 0x70, 0xF4, 0x00, 0x00, 0x4F, 0x07, 0x00, 0x00, 0x70, 0xF4, 0x00, 0x00, 0x4F, 0x07,
 0x00, 0x00, 0x70, 0xF4, 0x00, 0x00, 0x4F, 0x07, 0x00, 0x00, 0x70, 0xF4, 0x00, 0x00, 0x4F, 0x07, 0x00, 0x00, 0x70, 0xF4, 0x00, 0x00, 0x4F, 0x07, 0x77, 0x77, 0x70, 0xF4, 0x00, 0x00, 0x4F, 0x00,
 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x4F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x00, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x00, 0x00, 0xFF};
// the ending pipe facing left
// width=12 by height=12
const unsigned char endL[] ={
 0x42, 0x4D, 0xD6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x23, 0x0B, 0x00, 0x00, 0x23, 0x0B, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80,
 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x80, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF,
 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x00, 0x00, 0xF4, 0xFF,
 0xFF, 0xFF, 0xFF, 0xF4, 0x00, 0x00, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x00, 0x07, 0x77, 0x77, 0x70, 0xF4, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x70, 0xF4, 0x00, 0x00, 0x00, 0x07,
 0x00, 0x00, 0x70, 0xF4, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x70, 0xF4, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x70, 0xF4, 0x00, 0x00, 0x00, 0x07, 0x77, 0x77, 0x70, 0xF4, 0x00, 0x00, 0xFF, 0xF0,
 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0xF4, 0xFF, 0xFF, 0xFF, 0xFF, 0xF4, 0x00, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x00, 0x00, 0xFF};


 
// the left side of the screen
// contains the piece queue graphics, or can simply show what piece is next
// width=20 by height=84
const unsigned char leftpad[] ={
 0x42, 0x4D, 0x66, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00,
 0x00, 0x00, 0xF0, 0x03, 0x00, 0x00, 0x13, 0x0B, 0x00, 0x00, 0x13, 0x0B, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80,
 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x80, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF,
 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x04, 0x44, 0x44, 0x44, 0x44, 0x44, 0x40, 0x00, 0x04,
 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04,
 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x44, 0x44, 0x44, 0x44,
 0x44, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x70, 0x04, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x44, 0x44, 0x44, 0x44, 0x44, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04,
 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04,
 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x44, 0x44, 0x44, 0x44, 0x44, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x70, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04,
 0x44, 0x44, 0x44, 0x44, 0x44, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04,
 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04,
 0x00, 0x00, 0x00, 0x04, 0x44, 0x44, 0x44, 0x44, 0x44, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x77, 0x77, 0x77, 0x77, 0x77,
 0x77, 0x77, 0x70, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x44, 0x44, 0x44, 0x44, 0x44, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04,
 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x44, 0x44, 0x44, 0x44, 0x44, 0x40, 0x00, 0x04,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x04, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0xF0, 0x04, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x04, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x04, 0x00, 0x00, 0x0F, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x04, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x04, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x04,
 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x04, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x04, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00,
 0x00, 0x00, 0xF0, 0x04, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x04, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x04, 0x00, 0x00, 0x0F, 0x00,
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x04, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x04, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x04,
 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
 0xFF, 0xFF, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xF0, 0x0F, 0x0F, 0xFF, 0xF0, 0xF0, 0x0F, 0x00, 0xF0, 0x04, 0x00, 0x00, 0xF0, 0x0F,
 0x0F, 0x00, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x04, 0x00, 0x00, 0xF0, 0xFF, 0x0F, 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0xF0, 0x04, 0x00, 0x00, 0xFF, 0x0F, 0x0F, 0x00, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x04,
 0x00, 0x00, 0xF0, 0x0F, 0x0F, 0xFF, 0xF0, 0xF0, 0x0F, 0x0F, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
 0x44, 0x44, 0x44, 0x44, 0x00, 0x00, 0xFF};

//the cursor, small enough to be drawn in the center of a space without having to redraw the space
//width=4 by height=4
const unsigned char cursor[] ={
 0x42, 0x4D, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x13, 0x0B, 0x00, 0x00, 0x13, 0x0B, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80,
 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x80, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF,
 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x4F, 0xF4, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
 0xFF, 0xFF, 0x4F, 0xF4, 0xFF, 0xFF, 0xFF};

//a black 4x4 image used to cover up the old cursor position as it moves
//width=4 by height=4
const unsigned char cursorCover[] ={
 0x42, 0x4D, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00,
 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x13, 0x0B, 0x00, 0x00, 0x13, 0x0B, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80,
 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x80, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF,
 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF};


int main(void){int i,j; volatile unsigned long delay;
  SysCtlClockSet(SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | SYSCTL_XTAL_8MHZ);
  RIT128x96x4Init(1000000);
  // show the marquee
  RIT128x96x4_BMP(0, 95, title);
  Delay(50000000);        // delay 3 sec at 50 MHz
  // initialize variables and draw initial grid
  RIT128x96x4Clear();	
	RIT128x96x4_BMP(0, 95, leftpad);
	for (i=0; i<9; i++)
	{
		for (j=0; j<7; j++)
		{
			RIT128x96x4_BMP(
				((i * 12) + 20),
				(((j+1) * 12) + 12) - 1,
				blank);
		}
	}  
   
  //draw some example pieces	
  RIT128x96x4_BMP(32, 35, startD); //starting piece at 1,1
	Delay(10000000);                 // delay .6 sec at 50 MHz
	RIT128x96x4_BMP(56, 71, endU); //ending piece at 3,4
	Delay(10000000);
  RIT128x96x4_BMP(32, 47, turnUR); //elbow piece at 1,2
	Delay(10000000);
	RIT128x96x4_BMP(44, 47, straightLR); //horizontal at 2,2
	Delay(10000000);
	RIT128x96x4_BMP(56, 47, cross); //cross piece at 3,2
	Delay(10000000);
	RIT128x96x4_BMP(68, 47, turnUL); //elbow piece at 4,2
	Delay(10000000);
	RIT128x96x4_BMP(68, 35, turnDL); //elbow piece at 4,1
	Delay(10000000);
	RIT128x96x4_BMP(56, 35, turnDR); //elbow piece at 3,1
	Delay(10000000);
	RIT128x96x4_BMP(56, 59, straightUD); //vertical piece at 3,3
	Delay(10000000);
	
        
  Delay(500000000);        // delay 30 sec at 50 MHz
  RIT128x96x4Clear();
  while(1){
  }

}

